package com.consumer.entity;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @author asus
 * @title 目录
 * @description 目录
 * @date: 2022/11/24 9:46
 * @updateTime 2022/11/24 9:46
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FileVo implements Serializable {
    private static final long serialVersionUID = -1764339017867140513L;

    //桶ID
    @JSONField(name = "bucketId")
    @NotNull(message = "桶ID不能为空")
    private String bucketId;

    //目录ID
    @JSONField(name = "dirId")
    private String dirId;

    //文件名称
    @JSONField(name = "fileName")
    @NotNull(message = "文件名称不能为空")
    @Size(min = 1, max = 200, message = "文件名长度需要大于0，小于100个字")
    private String fileName;

    //目录描述
    @JSONField(name = "fileRemark")
    private String fileRemark;

    /**
     * 缺陷 需求池 任务 里程碑的主键ID
     */
    @JSONField(name = "globalId")
    private String globalId;

    /**
     * 来源 1. 需求池 2. 任务 3. 里程碑 4. 缺陷 5. 交付物
     */
    @JSONField(name = "source")
    private String source;

    // 文件类型 mp4 jpeg png...
    @JSONField(name = "filetype")
    private String filetype;

}
